Product lifecycle management (PLM) is the process of managing a product throughout all phases of the life, or lifecycle, of the product. PLM, for example, may begin at the conception phase of a product and continue through design, manufacture, service, and disposal of the product. Typically, each phase of the lifecycle of a product is handled by one or more different Enterprise Information Systems (EISs). Accordingly, two or more EISs often must communicate with one another in order to effectuate PLM.
Communicating across EIS domains generally requires a significant amount of data processing. For example, in order for one EIS to communicate with another EIS, the data being shared may require transformation with regard to structure, i.e., schema, and content, i.e., values. Often, the systems that perform the cross-domain data processing and facilitate inter-EIS communication comingle processing logic with control logic. Combining processing logic with control logic results in a monolithic system.
Most EISs, however, are heavily customized when implemented within an organization. The installation of a particular EIS within one organization is unlikely to be the same as another installation of the same EIS within another organization. These customizations continue over time resulting in ever-changing EISs. Adapting a monolithic system tasked with establishing cross domain communication between two EISs under these circumstances can be a time consuming and complex task. Adapting such a system typically requires redesign by skilled software developers that possess a high degree of familiarity with the system being modified.